#pragma once

#include "Includes.h"
#include "Engine/AuxTypes.h"
#include "Engine/RenderGlobals.h"

class CDrawInterfaceBase
{
protected:
    TPrimitiveType m_Type;
    CDrawInterfaceBase                                 ( );

public:
    static CDrawInterfaceBase *CreateDrawInterface     ( );
    mVoid         SetPrimitiveType                     ( TPrimitiveType a_Type );
    virtual mVoid Draw                                 ( mUInt a_uVertexCount, mUInt a_uStartVertex  ) = 0;
    virtual mVoid DrawIndexed                          ( mUInt a_uIndexCount, mUInt a_uStartIndex, mUInt a_uVertexCount, mUInt a_uStartVertex ) = 0;
};

class CDrawInterface
{
protected:
    CDrawInterfaceBase *m_pDrawInterface;
    CDrawInterface  ( );
    ~CDrawInterface ( );
};